跳到主要内容

CNSS 2026 Dev Guideline

💻 Dev Guideline

Dev 为开发者 Developer 的缩写,主要从事软件设计与开发工作。

Dev 是 CNSS DevOps 组的重要成员。只要你热爱计算机,希望能用代码改变世界,我们都欢迎你加入凝聚 Dev 的大家庭。

❓ 为什么要学习 Dev

  • 只要你从事的是计算机领域的工作,你就需要一定的软件开发能力
  • 了解 Dev 相关知识将有助于你理解计算机、互联网乃至数字社会的运作方式
  • Dev 可以成为你创造万物的途径之一,这将伴随巨大的成就感

🛣️ 如何学习 Dev

😘 Intro

  • 熟练运用至少一门编程语言,再了解掌握一种或者多种
    • 建议先学习使用 C 语言,它既会在大学课程里出现,也能让你对计算机底层的架构有一定的了解
    • 不同的语言可能各具特色,但是它们的本质是一样的,只是语法和库有所不同,在实际开发过程中选择最合适的就行。所以在你初步学习了一门语言后,再上手另一门其实不会特别困难
    • 当然,如果你对编程语言领域感兴趣的话,可以多研究几门语言的异同,深入探寻其中的奥秘。(编译型语言,解释型语言,函数式编程,……)
  • 多阅读、多练手,去写写算法题或者写点工程项目
  • 养成良好的代码习惯,注意规范自己的码风
  • 掌握一些基础的技能
  • 自学计算机科学以及 CS 自学指南
  • 在需要帮助的时候及时寻求帮助:
  • 耐心!耐心!耐心!
  • 保持一颗热爱的心❤

🥵 Intermediate

当你通过一门语言正式开启你的计算机之旅后,随着代码越写越多,你可能会发现你需要一些其他知识来支撑你的开发,下面这些资料或许可以帮到你。

🤯 Advanced

如果还想要继续深入了解计算机的世界某些领域,请留意每道招新题中给出的提示,那里面会有关于相关内容更进一步的介绍。

🤔 AI 时代,还有必要学习 Dev 吗?怎么学?

不可否认的是,随着 LLM 与 AI coding 的迅猛发展,即使是一个几乎不了解相关技术的 Newbie 也能独立开发各种项目,但这不代表我们不应该去深入学习 Dev 的相关知识,而把全部精力放在 Vibe coding 上:

  • LLM 的编程能力的确很强,但并不是毫无缺陷。如果一个纯 Vibe coding 的项目出了 bug,我们至少得有能力找到并解决 bug,也就是得有 debug 的能力,而 debug 能力和 Dev 基础密不可分。
  • 基于 LLM 的 Agent 的确可以帮我们做很多事,包括 debugging,但我们如果没有 Dev 基础,就很难分辨 Agent 的行为是否符合预期。比如说,Agent 在命令行界面执行 rm -rf /* 指令时,我们至少得知道这个指令会带来什么后果。
  • 此外,如果我们在初次接触某个领域(比如 CS)时,就过于依赖 LLM 完成各类练习,却不将自己的思考与操作融入其中,那么,我们的认知能力很可能会受到负面影响。这里有一篇 MIT 的相关研究,可供参考
  • 以上三点说的都是直接使用 LLM 完成练习或其他项目,而非使用 LLM 来学习知识。使用 LLM 辅助学习,总体而言利远大于弊。有很多零碎的知识是我们没办法直接从教科书、搜索引擎或其他材料中获得的,这时 LLM 就能发挥非常大的用处。
  • 虽然如此,如果我们想要系统性地学习某个领域的知识,那么,直接从 ChatGPT 或者其他 Chatbot 那儿获取知识,可能并不是最好的选择。基于网课或教科书的学习方式看起来耗时很长,没那么诱人,但其中也蕴藏了前人的演绎推理和各种意想不到的 insights。

🌍 也试试 Ops/SA

同为 DevOps 组,Ops/SA 方向与 Dev 方向联系紧密。相比于创造机器,Ops/SA 方向更侧重于维护机器。Dev 打累了也可以试试 Ops/SA 方向(

👨‍💻 Dev 是不是和网络安全完全没有关系啊

当然不是。网络安全和开发的科技树有重合。特别地,Bin 方向和 Dev 方向需要非常多相似的知识基础,例如程序在 main 前做了什么、gets 为什么不安全等等。而且,想要编写出安全健壮的程序,也需要网络安全相关的知识。你甚至可能会在 Dev 题中见到一些 Re 题。

有些 CTF 比赛会有专门的 AI 赛道,某些 misc 题也和 Dev 有关,可以来 Dev 组一起做 AI(x

希望今年能招到更强大的 Dev 壬!

👊 暴打负责人

@zhenlu